import { number } from "echarts"
import { MapKey } from "./api"
import  { PageInfo } from "@/components/pagination";
// 车辆信息
export type VehicleInfo = {
  vin: string
  pdsn: string
  iccid: number
  imsi: string
  msisdn: string
  tbox: string
  engineNumber: string
  } | null

  
export type VehicleState = {
  vehicle: VehicleInfo
}

export type VehicleDataAll = {
  vehicleWithSimResp: VehicleWithSimResp
  rsMap: RsMap
  msRemoteRelationVo:MsRemoteRelationVo
  userProfileListItemVoList:UserProfileListItemVoList
  bluekeyDetailVoList:BluekeyDetailVoList
  simStatus : string
  vhlDataV2Vo:VhlDataV2Vo
  deviceVehicle:DeviceVehicle
  creditConfigStatusResp:CreditConfigStatusResp
} 

export type BaseAccountStaticAll = {
  list:BaseAccountStaticList
  mapKey: MapKey
  pagination: Pagination
  total:number
} 

export type BaseAccountStaticList = BaseAccountStaticExcelVo[]
export type BaseAccountStaticExcelVo = {
  vin: string;
  brandid: string;
  seriesName: string;
  typeName: string;
  version: string;
  webType: string;
  vhlType: string;
  enrollDate: string;
  purchaseDate: string;
  dealerId: string;
  dealerName: string;
  shortName: string;
  beginTime: string;
  endTime: string;
  staticMonth: string;
}

export type GetFeedBackLogAll = {
  list: FeedbackEntityList
  pagination: Pagination
  mapKey: MapKey
}



export type VehicleWithSimResp = {
  vin: string
  pdsn: string
  iccid: number
  imsi: string
  msisdn: string
  tbox: string
  engineNumber: string
  } | null


export type RsMap = {
  monthBalanceFlow: string
  monthUsedFlow: string
  } | null

export type MsRemoteRelationVo = {
  seriesId: string
  projectId: string
  tboxType: string
  dcvpFlag: string
  version: string
  airFuelType: string
  tirePressure: string
  tboxBluetoothKey: string
  driveType: string
  ecu: string
  baiduLicenses: string
  channel: string
  protocol: string
  serialNumberFlag: string
  msisdn: string
  typeGroupCode: string
  } | null
  
export type UserProfileListItemVoList = UserProfileListItemVo[]
export type BluekeyDetailVoList = BluekeyDetailVo[]
export type UserProfileListItemVo = {
    userName: string
    nickName: string
    userAccountSid: string
    userAccountBindId: number
    mobilePhone: string
    avatar: string
    relationshipType: string
    sexuality: string
    idNo: string
    birthday: string
  }

  export type BluekeyDetailVo = {
    id :number
    deviceId :string
    userAccountSid :number
    keyStatus :number
    reationship :number
    updatetime :string
    endTime :string
    parkingKeyExpireTime :string
    bluetoothProvider :string
  }


  export type VhlDataV2Vo = {
    equipmentID:string
    ngtpCreateTime:string
    nivHuile:string
    conso:string
    autonomie:string
    kmTotal:string
    kmMaint:string
    nbJourMaintenance:string
    dbtype:string
    lon:string
    lat:string
    engineState:string
    eachMileage:string
    eachFuel:string
    address:string
    addressName:string
  }


  export type Vehicle_color = {
    ngtpCreateTime_isRed:boolean
  }

  export type DeviceVehicle = {
     sid:number,
     vin:string,
     brandId:string,
     styleId:string,
     seriesId:string,
     seriesName:string,
     status:number,
     licence:string,
     colorId:string,
     doptCode:string,
     insuranceId:string,
     dealerId:string,
     enrollStatus:number,
     enrollStatusName:string,
     enrollDate:string,
     unenrollDate:string,
     vhlType:string,
     vehicleTypeName:string,
     realNameStatus:string,
     realNameStatusName:string,
     availableDate:string,
     projectId:string,
     carSpt:string,
     carSptName:string,
     typeGroupCode:string,
     typeGroupName:string,
  }

  export type CreditConfigStatusResp = {
      vin:string;
      configStatus:number;
      configTime:string;
      isCred:string;
 }
  
export type FeedbackEntityList = FeedbackEntity[]
export type FeedbackEntity = {
  id: number;
  serialNumber: string;
  content: string;
  userName: string;
  phone: string;
  vin: string;
  feedbackType: string;
  images: string;
  appLogUri: string;
  appLogSid: number;
  tboxLogUri: string;
  tboxLogSid: number;
  vehicleType: string;
  mobileType: string;
  createDate: string;
  appLogCount: number;
  tboxLogCount: number;
};

export type Pagination = {
  current: number;
  pageSize: number;
  total: number;
};

// Feedback post参数
export interface FeedbackItem {
  vin: string;
  page: string;
  size: string;
}
export type version = string;
export type VersionList = version[]
export type BaseAccountStaticPage = {
  pageInfo: PageInfo;
  startMonth:String;
  endMonth:String;
  versionList:VersionList; 
};



